home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / fpu881 / src6.zoo / gnu881.inf < prev    next >
Text File  |  1991-09-24  |  3KB  |  77 lines

  1.     GNU881.INF
  2.     
  3.     Some info about these libraries
  4.     
  5.     Michael Ritzert
  6.     Liebermannstr.8
  7.     5309 Meckenheim
  8.     Germany
  9.     ritzert@dfg.dbp.de
  10.     
  11.     History: most of these routines have been ported to gcc from a
  12.     library patch to AC-Fortran i've developed a while ago. There has
  13.     been an intermediate version compatible to John Dunning's library to
  14.     gcc 1.34 (thank You very much, John, for the initial ports of gcc!).
  15.     The library runs with the original Atari sfp004 in MegaSTs and the
  16.     Boards of Weide and Lischka. It has been tested with hardware
  17.     accelerators (the 68000-hypercache and the hypercache 030). With the
  18.     '030 in connection to an st-compatible 68881 card, the internal caches
  19.     of the cpu have to be switched off, due to a (documented) bug in the
  20.     caching logic of the 68030. See pro_VME's documentation.
  21.     
  22.     Features: 
  23.  
  24.     The library is more or less compatible to pml, which belongs to the
  25.     gcc.1.37-distribution of Jwahar Bammi (Thanks a lot for the great
  26.     work You, Eric and all the others spend in that tool). It has been
  27.     used to compile sc 6.8 and gnuplot 2.0.
  28.     
  29.     The library addresses the coprocessor registers directly; there is
  30.     no linef support. If You use it in connection with MiNT, please be
  31.     careful to start ONLY ONE process that uses the fpu since nothing
  32.     has been implemented to overcome the mutual exclusion problem!
  33.     
  34.     Error handling has been implemented in a very rudimentary way (well,
  35.     I believe it's a bit better than in pml). I make use of the fact
  36.     that the 68881 handles floating point exceptions in a self
  37.     consistant manner: Overflows are represented by a signed infinity,
  38.     operations leading to undefined results like 0/0 will be represented
  39.     by a NAN (not a number) symbol. It is also signed; but i never saw a
  40.     negative NAN appearing. In cases where it is (a) simple and (b) not
  41.     time critical to check these conditions, this has been implemented.
  42.     There is no exit on the appearence due to floating point exceptions,
  43.     due to two reasons:
  44.     (a) the 68881 is able to use these symbols in a logical and self
  45.     consistent manner in the computations.
  46.     (b) there are a lot of algorithms which are not very sensitive to,
  47.     say, floating point overflows. It would not be wise to stop the
  48.     computation in these cases. Anyway, the user should (and will be)
  49.     informed about floating point exceptions.
  50.     
  51.     The IO routines have been extended to handle Infinities and NANs.
  52.     The original printf crashes upon the appearence of a NAN. Now,
  53.     +-Infinity or Not A Number is written to the device (better than
  54.     FORTRAN's stars).
  55.     
  56.     This library CANNOT be used on systems with a real hardware
  57.     interface between cpu and coprocessor, i.e., STs with a PAK20, a
  58.     hypercache030 or other 68020/68030 cards with a 68881/68882 on
  59.     board or the TT. On these boards, the line-f commands have to be used.
  60.     
  61.     Installation:
  62.     
  63.     Add the files 881.olb (32 bit int) and 88116.olb (16 bit int) to
  64.     $GNULIB. Link with -l881 or -l88116.
  65.     
  66.     Conclusion:
  67.     
  68.     We are in urgend need of a standardized floating point interface for
  69.     ALL Motorola based Ataris. A few months ago, it has been
  70.     demonstrated in an article published in the c't magazine that a full
  71.     line-f floating point interface can easily be implemented in any ST,
  72.     even those, whose TOS abuses line-f.
  73.     
  74.     Enjoy,
  75.     
  76.     Michael Ritzert
  77.